// async function http(post, Vue, transfer) {
//   const data = await Vue.$http.post(post.url, post.props)
//   if (!data) {
//     return
//   }
//   if (data.data.status === 200) {
//     transfer(data.data)
//     Vue.$success(data.data.message)
//     return
//   }
//   console.error(data.data.message)
//   Vue.$error(data.data.message)
// }
export default async function(post, success, noLog = false) {
  let data
  if (!success) {
    success = function() {}
  }
  if (post.paras) {
    if (typeof post.paras === 'string') {
      data = await this.$http.post(post.url, post.paras)
    } else {
      data = await this.$http.post(post.url, this.$qs.stringify(post.paras))
    }
  }
  if (post.json) {
    data = await this.$http.post(post.url, post.json)
  }
  if (!(post.json || post.paras)) {
    data = await this.$http.post(post.url)
  }

  if (!data) {
    return
  }
  if (data.data.status === 200) {
    success(data)
    if (!noLog) {
      this.$success(data.data.message)
    }
    return
  }
  console.error(data.data.message)
}
